package exercise;

import java.util.Scanner;

/*
需求 :在唱歌比赛中，有6名评委给选手打分，
分数范围是[0 - 100]之间的整数。
选手的最后得分为：去掉最高分、最低分后的4个评委的平均分，
请完成上述过程并计算出选手的得分。
 */
public class Test6 {
    public static void main(String[] args) {
        //定义数组存成绩
        int [] scoreArr=getScores();
        for (int i = 0; i < scoreArr.length; i++) {
            System.out.println(scoreArr[i]);
        }
        //求最大值
        int max=getMax(scoreArr);
        //求最小值
        int min=getMin(scoreArr);
        //求总分
        int sum=getSum(scoreArr);
        //求平均分
        int avg=(sum-max-min)/(scoreArr.length-2);
        System.out.println("最终成绩为"+avg);
    }
    //定义方法求最总分
    public static int getSum(int [] scoreArr){
        int sum=0;
        for (int i = 1; i < scoreArr.length; i++) {
            sum=sum + scoreArr[i];
        }
        return sum;
    }


    //定义方法求最大值
    public static int getMax(int[] scoreArr){
        int max = scoreArr[0];
        for (int i = 1; i < scoreArr.length; i++) {
            if (scoreArr[i] > max) {
                max = scoreArr[i];
            }
        }
        return max;
    }

    //定义方法求最小值
    public static int getMin(int[] scoreArr){
        int min = scoreArr[0];
        for (int i = 1; i < scoreArr.length; i++) {
            if (scoreArr[i] < min) {
                min = scoreArr[i];
            }
        }
        return min;
    }


    public static int[] getScores(){
        //定义数组，键盘录入分数
        int [] scores = new int [6];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < scores.length;) {
            System.out.println("输入评委打分：");
            int score = sc.nextInt();
            if (score > 0 && score <= 100) {
                scores[i] = score;
                i++;
            }else{
                System.out.println("成绩超出范围，继续录入当前i为"+i);
            }

        }
        return scores;
    }
}
